//
//  TXAFHttpManger.h
//  TXKit
//
//  Created by YM on 16/11/24.
//  Copyright © 2016年 Tincent. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "HttpDefine.h"

@interface TXAFHttpManger : NSObject

/**
 *  通用Http请求
 *
 *  @param url               请求地址
 *  @param headers           请求header动态参数
 *  @param params            请求参数
 *  @param method            请求方法
 *  @param onCached          缓存数据回调, 如果不需要读写缓存则传nil
 *  @param onFinished        请求完成回调
 *
 *  @return                  task
 */
+(id)requestWithUrl:(NSString*) url
            headers:(NSDictionary *)headers
             params:(NSDictionary*) params
             method:(HttpMethod ) method
         cacheBlock:(void (^)(NSDictionary *cacheObj))onCached
        finishBlock:(void (^)(NSDictionary *jsonObj, NSError *error)) onFinished;

/**
 *  通用Http请求
 *
 *  @param url               请求地址
 *  @param headers           请求header动态参数
 *  @param params            请求参数
 *  @param isParamSign       是否需要对参数进行签名
 *  @param isResponseJson    是否返回json格式数据
 *  @param method            请求方法
 *  @param onCached          缓存数据回调, 如果不需要读写缓存则传nil
 *  @param onFinished        请求完成回调
 *
 *  @return                  task
 */
+(id)requestWithUrl:(NSString*) url
            headers:(NSDictionary *)headers
             params:(NSDictionary*) params
        isParamSign:(BOOL )isParamSign
     isResponseJson:(BOOL )isResponseJson
             method:(HttpMethod ) method
         cacheBlock:(void (^)(id cacheObj))onCached
        finishBlock:(void (^)(id responseObj, NSError *error)) onFinished;

@end
